/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package GUI;

import GUI.Facturacion.FormularioFactura;
import GUI.Productos.FormularioProducto;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import logica.FacadeCustomer;

;



/**
 *
 * @author dianacha
 */
public class VentanaCajero extends JFrame implements ActionListener{
    
    /*!JLabel con el texto tipo de usuario */
    private JLabel lUsuario;
    /*!JLabel con la imagen del tipo de usuario */
    private JLabel lCajero;
    /*! Button para procesos de cajero relacionados con productos*/
    private JButton bProductos;
    /*! Button para procesos de cajero relacionados con facturaci&oacute;n*/
    private JButton bFacturacion;
    /*! Button para procesos de cajero relacionados con clientes*/
    private JButton bClientes;
    /*! JPanel de ingreso con imagen de fondo*/
    private JPanelConFondo pGeneral;
    /*! ArrayList de String con datos del Cajero*/
    //private ArrayList<String> vCajero;
    private final String nomb;
    
    private FacadeCustomer permisosCustomer;
    
    public VentanaCajero(String username){
        this.nomb = username;
        setTitle("Cajero Cocos - "+ nomb);
        //Image icono = Toolkit.getDefaultToolkit().getImage("images/logo25x25.jpg");
        //setIconImage(icono);
        inicializarComponentes();
        organizarComponentes();
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(500, 500); //* H, V
        setResizable(false);
        setVisible(true);
    }

    private void inicializarComponentes() {
        permisosCustomer=new FacadeCustomer();
        permisosCustomer.habilitarPermisosCajero();
        
        lCajero = new JLabel(new ImageIcon(getClass().getResource("/GUI/images/customer_service-96x96.png" )));
        lCajero.setBounds(145,130,200,130);
        
        lUsuario = new JLabel("Cajero");
	lUsuario.setFont(new Font("Arial", Font.BOLD, 24));
	lUsuario.setForeground(new Color(78,79,99,190));
        lUsuario.setBounds(200,50,200,130);
		
	bProductos = new JButton(new ImageIcon(getClass().getResource("/GUI/images/shopping_bag96x96.png")));
	configurarBoton(bProductos, 70,180,96,96);
	
        bClientes = new JButton(new ImageIcon(getClass().getResource("/GUI/imagess96x96.png")));
	configurarBoton(bClientes, 200,250,96,96);
        
        bFacturacion = new JButton(new ImageIcon(getClass().getResource("/GUI/images/cash_register-96x96.png")));
        configurarBoton(bFacturacion, 320,180,96,96);
    }

    private void configurarBoton(JButton boton, int x, int y, int h, int w) {
        boton.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
        boton.setBounds(x, y, h, w);
        boton.setOpaque(false);
	boton.setBorderPainted(false);
	boton.setBackground(new Color(0,0,0,0));
	boton.addActionListener(this);
    }

    private void organizarComponentes() {
        pGeneral = new JPanelConFondo(new ImageIcon(getClass().getResource("/GUI/images/main-background-500x500.jpg")));
	pGeneral.setLayout(null);
        
	pGeneral.add(lUsuario);
	pGeneral.add(lCajero);
	pGeneral.add(bProductos);
	pGeneral.add(bClientes);
	pGeneral.add(bFacturacion);
               
	setLayout(new BorderLayout()); // eC, eF
        add(pGeneral, BorderLayout.CENTER);
    }
    
    private void iniciarCajeroProd() {
        String tipoUser = "cajero";//quitar ahora!!!
        boolean[] permisosProductos = permisosCustomer.getPermisosProd();
                
        //servidor.crearCajeroProductos(String tipoUser)
        
        FormularioProducto cajeroProd = new FormularioProducto(this, true, tipoUser, permisosProductos);
    }

    private void iniciarCajeroClien() {
        String tipoUser = "cajero";//quitar ahora!!!
        boolean[] permisosClientes = permisosCustomer.getPermisosClie();
                
        //servidor.crearCajeroProductos(String tipoUser)
        
        FormularioCliente cajeroClie = new FormularioCliente(this, true, tipoUser, permisosClientes);
    }

    private void iniciarCajeroFact() {
        //servidor.crearAdminFact(String tipoUser)
        
        String tipoUser = "cajero";//quitar ahora!!!
        boolean[] permisosFact = permisosCustomer.getPermisosFact();//2
        
        FormularioFactura adminFact = new FormularioFactura(this, true, tipoUser, permisosFact);
    }

    @Override
    public void actionPerformed(ActionEvent ae) {
        if(ae.getSource()==bProductos){
            iniciarCajeroProd();
        }
        if(ae.getSource()==bClientes){
            iniciarCajeroClien();
        }
        if(ae.getSource()==bFacturacion){
            iniciarCajeroFact();
        }
    }
}
